using System;
using NUnit.Framework;
using dnA.Math;

namespace dnA.dnAtests.Math 
{
	[TestFixture]
	public class ComplexMath_Float_DivideTest
	{
		[Test]
		public void Divide()
		{
			ComplexFloat a, b; 
			a = new ComplexFloat(1.19209289550780998537e-7f,1.19209289550780998537e-7f);
			b = new ComplexFloat(1.19209289550780998537e-7f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,1.19209289550780998537e-7f);
			b = new ComplexFloat(0.0f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(0.0f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.38418579101561997074e-7f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,5.0e-1f);
			b = new ComplexFloat(0.0f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,-5.0e-1f);
			b = new ComplexFloat(0.0f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.0e-1f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,1.0f);
			b = new ComplexFloat(0.0f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,-1.0f);
			b = new ComplexFloat(0.0f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.0e-1f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,2.0f);
			b = new ComplexFloat(0.0f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,-2.0f);
			b = new ComplexFloat(0.0f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.384185791015625e-7f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,8.388608e6f);
			b = new ComplexFloat(0.0f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(0.0f,-8.388608e6f);
			b = new ComplexFloat(1.19209289550780998537e-7f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,-7.03687441776641484375e13f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,0.0f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,0.0f);
			b = new ComplexFloat(1.19209289550780998537e-7f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.0e-1f,5.0e-1f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,1.19209289550780998537e-7f);
			b = new ComplexFloat(1.19209289550780998537e-7f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,1.0f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,1.19209289550780998537e-7f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,-1.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(1.19209289550780998537e-7f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.38418635944967305352e-7f,2.38418522258129583742e-7f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,5.0e-1f);
			b = new ComplexFloat(1.19209289550780998537e-7f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999886313162e-1f,4.76837158203096889094e-7f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,-5.0e-1f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,5.0e-1f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999886313162e-1f,-4.76837158203096889094e-7f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,-5.0e-1f);
			b = new ComplexFloat(1.19209289550780998537e-7f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.00000000000007105427e-1f,5.96046447753896522356e-8f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,1.0f);
			b = new ComplexFloat(1.19209289550780998537e-7f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999971578291e-1f,2.38418579101558608942e-7f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,-1.0f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,1.0f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999971578291e-1f,-2.38418579101558608942e-7f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,-1.0f);
			b = new ComplexFloat(1.19209289550780998537e-7f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.00000000000001776357e-1f,2.98023223876951437552e-8f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,2.0f);
			b = new ComplexFloat(1.19209289550780998537e-7f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999992894573e-1f,1.19209289550780575021e-7f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,-2.0f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,2.0f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999992894573e-1f,-1.19209289550780575021e-7f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,-2.0f);
			b = new ComplexFloat(1.19209289550780998537e-7f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.384185791015625e-7f,1.42108513270701847235e-14f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,8.388608e6f);
			b = new ComplexFloat(1.19209289550780998537e-7f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,2.84217094304039474814e-14f), 1e-7f);
			a = new ComplexFloat(1.19209289550780998537e-7f,-8.388608e6f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,8.388608e6f);
			b = new ComplexFloat(-1.19209289550780998537e-7f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,-2.84217094304039474814e-14f), 1e-7f);
			a = new ComplexFloat(-1.19209289550780998537e-7f,-8.388608e6f);
			b = new ComplexFloat(5.0e-1f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.38418579101561997074e-7f,-1.6777216e7f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,0.0f);
			b = new ComplexFloat(-5.0e-1f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,0.0f);
			b = new ComplexFloat(5.0e-1f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999943156581e-1f,2.38418579101548444547e-7f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,1.19209289550780998537e-7f);
			b = new ComplexFloat(5.0e-1f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999886313162e-1f,4.76837158203096889094e-7f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(-5.0e-1f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,1.19209289550780998537e-7f);
			b = new ComplexFloat(-5.0e-1f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999886313162e-1f,-4.76837158203096889094e-7f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(5.0e-1f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.00000119209289550781e-1f,4.99999880790710449219e-1f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,5.0e-1f);
			b = new ComplexFloat(5.0e-1f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,1.0f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,-5.0e-1f);
			b = new ComplexFloat(-5.0e-1f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,5.0e-1f);
			b = new ComplexFloat(-5.0e-1f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,-1.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,-5.0e-1f);
			b = new ComplexFloat(5.0e-1f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-6.0e-1f,2.0e-1f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,1.0f);
			b = new ComplexFloat(5.0e-1f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-6.0e-1f,8.0e-1f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,-1.0f);
			b = new ComplexFloat(-5.0e-1f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,1.0f);
			b = new ComplexFloat(-5.0e-1f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-6.0e-1f,-8.0e-1f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,-1.0f);
			b = new ComplexFloat(5.0e-1f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.29411764705882352941e-1f,1.17647058823529411765e-1f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,2.0f);
			b = new ComplexFloat(5.0e-1f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-8.82352941176470588235e-1f,4.70588235294117647059e-1f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,-2.0f);
			b = new ComplexFloat(-5.0e-1f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,2.0f);
			b = new ComplexFloat(-5.0e-1f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-8.82352941176470588235e-1f,-4.70588235294117647059e-1f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,-2.0f);
			b = new ComplexFloat(5.0e-1f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.38418582654275331768e-7f,5.96046305645356980398e-8f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,8.388608e6f);
			b = new ComplexFloat(5.0e-1f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999992894573e-1f,1.19209289550780826484e-7f), 1e-7f);
			a = new ComplexFloat(5.0e-1f,-8.388608e6f);
			b = new ComplexFloat(-5.0e-1f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,8.388608e6f);
			b = new ComplexFloat(-5.0e-1f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999992894573e-1f,-1.19209289550780826484e-7f), 1e-7f);
			a = new ComplexFloat(-5.0e-1f,-8.388608e6f);
			b = new ComplexFloat(1.0f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.0e-1f,-8.388608e6f), 1e-7f);
			a = new ComplexFloat(1.0f,0.0f);
			b = new ComplexFloat(-1.0f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,0.0f);
			b = new ComplexFloat(1.0f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999985789145e-1f,1.19209289550779304471e-7f), 1e-7f);
			a = new ComplexFloat(1.0f,1.19209289550780998537e-7f);
			b = new ComplexFloat(1.0f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999971578291e-1f,2.38418579101558608942e-7f), 1e-7f);
			a = new ComplexFloat(1.0f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(-1.0f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,1.19209289550780998537e-7f);
			b = new ComplexFloat(-1.0f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999971578291e-1f,-2.38418579101558608942e-7f), 1e-7f);
			a = new ComplexFloat(-1.0f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(1.0f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-8.00000047683715820312e-1f,3.99999904632568359375e-1f), 1e-7f);
			a = new ComplexFloat(1.0f,5.0e-1f);
			b = new ComplexFloat(1.0f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(6.0e-1f,8.0e-1f), 1e-7f);
			a = new ComplexFloat(1.0f,-5.0e-1f);
			b = new ComplexFloat(-1.0f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,5.0e-1f);
			b = new ComplexFloat(-1.0f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(6.0e-1f,-8.0e-1f), 1e-7f);
			a = new ComplexFloat(-1.0f,-5.0e-1f);
			b = new ComplexFloat(1.0f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-7.5e-1f,2.5e-1f), 1e-7f);
			a = new ComplexFloat(1.0f,1.0f);
			b = new ComplexFloat(1.0f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,1.0f), 1e-7f);
			a = new ComplexFloat(1.0f,-1.0f);
			b = new ComplexFloat(-1.0f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,1.0f);
			b = new ComplexFloat(-1.0f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,-1.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,-1.0f);
			b = new ComplexFloat(1.0f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-6.0e-1f,2.0e-1f), 1e-7f);
			a = new ComplexFloat(1.0f,2.0f);
			b = new ComplexFloat(1.0f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-6.0e-1f,8.0e-1f), 1e-7f);
			a = new ComplexFloat(1.0f,-2.0f);
			b = new ComplexFloat(-1.0f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,2.0f);
			b = new ComplexFloat(-1.0f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-6.0e-1f,-8.0e-1f), 1e-7f);
			a = new ComplexFloat(-1.0f,-2.0f);
			b = new ComplexFloat(1.0f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.3841859331241382707e-7f,1.19209261129070125531e-7f), 1e-7f);
			a = new ComplexFloat(1.0f,8.388608e6f);
			b = new ComplexFloat(1.0f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999971578291e-1f,2.38418579101559111868e-7f), 1e-7f);
			a = new ComplexFloat(1.0f,-8.388608e6f);
			b = new ComplexFloat(-1.0f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-1.0f,8.388608e6f);
			b = new ComplexFloat(-1.0f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999971578291e-1f,-2.38418579101559111868e-7f), 1e-7f);
			a = new ComplexFloat(-1.0f,-8.388608e6f);
			b = new ComplexFloat(2.0f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.0e-1f,-4.194304e6f), 1e-7f);
			a = new ComplexFloat(2.0f,0.0f);
			b = new ComplexFloat(-2.0f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,0.0f);
			b = new ComplexFloat(2.0f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999996447286e-1f,5.96046447753902875103e-8f), 1e-7f);
			a = new ComplexFloat(2.0f,1.19209289550780998537e-7f);
			b = new ComplexFloat(2.0f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999992894573e-1f,1.19209289550780575021e-7f), 1e-7f);
			a = new ComplexFloat(2.0f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(-2.0f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,1.19209289550780998537e-7f);
			b = new ComplexFloat(-2.0f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999992894573e-1f,-1.19209289550780575021e-7f), 1e-7f);
			a = new ComplexFloat(-2.0f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(2.0f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.4117648461285759421e-1f,2.35294061548569623162e-1f), 1e-7f);
			a = new ComplexFloat(2.0f,5.0e-1f);
			b = new ComplexFloat(2.0f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(8.82352941176470588235e-1f,4.70588235294117647059e-1f), 1e-7f);
			a = new ComplexFloat(2.0f,-5.0e-1f);
			b = new ComplexFloat(-2.0f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,5.0e-1f);
			b = new ComplexFloat(-2.0f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(8.82352941176470588235e-1f,-4.70588235294117647059e-1f), 1e-7f);
			a = new ComplexFloat(-2.0f,-5.0e-1f);
			b = new ComplexFloat(2.0f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.0e-1f,2.0e-1f), 1e-7f);
			a = new ComplexFloat(2.0f,1.0f);
			b = new ComplexFloat(2.0f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(6.0e-1f,8.0e-1f), 1e-7f);
			a = new ComplexFloat(2.0f,-1.0f);
			b = new ComplexFloat(-2.0f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,1.0f);
			b = new ComplexFloat(-2.0f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(6.0e-1f,-8.0e-1f), 1e-7f);
			a = new ComplexFloat(-2.0f,-1.0f);
			b = new ComplexFloat(2.0f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-7.5e-1f,2.5e-1f), 1e-7f);
			a = new ComplexFloat(2.0f,2.0f);
			b = new ComplexFloat(2.0f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,1.0f), 1e-7f);
			a = new ComplexFloat(2.0f,-2.0f);
			b = new ComplexFloat(-2.0f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,2.0f);
			b = new ComplexFloat(-2.0f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,-1.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,-2.0f);
			b = new ComplexFloat(2.0f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.38418635944967808278e-7f,2.38418522258130086668e-7f), 1e-7f);
			a = new ComplexFloat(2.0f,8.388608e6f);
			b = new ComplexFloat(2.0f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999886313162e-1f,4.76837158203097894946e-7f), 1e-7f);
			a = new ComplexFloat(2.0f,-8.388608e6f);
			b = new ComplexFloat(-2.0f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-2.0f,8.388608e6f);
			b = new ComplexFloat(-2.0f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999886313162e-1f,-4.76837158203097894946e-7f), 1e-7f);
			a = new ComplexFloat(-2.0f,-8.388608e6f);
			b = new ComplexFloat(8.388608e6f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-2.384185791015625e-7f,-1.0f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,0.0f);
			b = new ComplexFloat(-8.388608e6f,0.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,0.0f);
			b = new ComplexFloat(8.388608e6f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,1.42108547152019737407e-14f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,1.19209289550780998537e-7f);
			b = new ComplexFloat(8.388608e6f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(1.0f,2.84217094304039474814e-14f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(-8.388608e6f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,1.19209289550780998537e-7f);
			b = new ComplexFloat(-8.388608e6f,-1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(1.0f,-2.84217094304039474814e-14f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,-1.19209289550780998537e-7f);
			b = new ComplexFloat(8.388608e6f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999996447287e-1f,5.96046305645356980398e-8f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,5.0e-1f);
			b = new ComplexFloat(8.388608e6f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999992894573e-1f,1.19209289550780826484e-7f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,-5.0e-1f);
			b = new ComplexFloat(-8.388608e6f,5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,5.0e-1f);
			b = new ComplexFloat(-8.388608e6f,-5.0e-1f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999992894573e-1f,-1.19209289550780826484e-7f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,-5.0e-1f);
			b = new ComplexFloat(8.388608e6f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999992894573e-1f,5.96046447753897779671e-8f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,1.0f);
			b = new ComplexFloat(8.388608e6f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999971578291e-1f,2.38418579101559111868e-7f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,-1.0f);
			b = new ComplexFloat(-8.388608e6f,1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,1.0f);
			b = new ComplexFloat(-8.388608e6f,-1.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999971578291e-1f,-2.38418579101559111868e-7f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,-1.0f);
			b = new ComplexFloat(8.388608e6f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-9.99999999999971578291e-1f,1.19209289550774473736e-7f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,2.0f);
			b = new ComplexFloat(8.388608e6f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999886313162e-1f,4.76837158203097894946e-7f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,-2.0f);
			b = new ComplexFloat(-8.388608e6f,2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,2.0f);
			b = new ComplexFloat(-8.388608e6f,-2.0f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(9.99999999999886313162e-1f,-4.76837158203097894946e-7f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,-2.0f);
			b = new ComplexFloat(8.388608e6f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-5.00000119209289550781e-1f,4.99999880790710449219e-1f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,8.388608e6f);
			b = new ComplexFloat(8.388608e6f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,1.0f), 1e-7f);
			a = new ComplexFloat(8.388608e6f,-8.388608e6f);
			b = new ComplexFloat(-8.388608e6f,8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-1.0f,0.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,8.388608e6f);
			b = new ComplexFloat(-8.388608e6f,-8.388608e6f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(0.0f,-1.0f), 1e-7f);
			a = new ComplexFloat(-8.388608e6f,-8.388608e6f);
			b = new ComplexFloat(0.0f,1.19209289550780998537e-7f);
			TestHelper.TestRelativeError(a / b, new ComplexFloat(-7.03687441776641484375e13f,7.03687441776641484375e13f), 1e-7f);
		}
	}
}
